home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / script13.arc / SCRIPT.BAS (.txt) next >
Encoding:
GW-BASIC  |  1980-01-04  |  6.7 KB  |  317 lines

  1. 1000  ' SCRIPT.BAS - Written by Mark Herring.  Version 1.3
  2. 1005  CLEAR 5000:DEFINT A-Z
  3. 1010  DEF FNN$(X)=RIGHT$(STR$(X),LEN(STR$(X))-1)
  4. 1015  DIM EN(10),BT(10),BBS$(10),NF$(10),NL$(10),PW$(10),NF(10)
  5. 1020  DIM AC$(10,10),A$(10,10),FS$(10,10),DC$(10,10)
  6. 1025  Q$=CHR$(34):B$=STRING$(30,32)
  7. 1030  OPEN "R",1,"PROCOMM.DIR",60
  8. 1035  FIELD 1,30 AS D$,30 AS N$
  9. 1040  COLOR 7,0
  10. 1045  CLS
  11. 1050  COLOR 0,7
  12. 1055  PRINT CHR$(201);STRING$(26,205);CHR$(187)
  13. 1060  PRINT CHR$(186);" Procomm Scriptwriter 1.3 ";CHR$(186)
  14. 1065  PRINT CHR$(186);"       by Sparkware       ";CHR$(186)
  15. 1070  PRINT CHR$(200);STRING$(26,205);CHR$(188)
  16. 1075  COLOR 7,0
  17. 1080  FOR I=1 TO 10
  18. 1085  LOCATE 9+I,1
  19. 1090  PRINT STRING$(80,32);
  20. 1095  LOCATE 9+I,1
  21. 1100  PRINT "CALL directory entry number? ";
  22. 1105  LINE INPUT C$
  23. 1110  EN=VAL(C$)
  24. 1115  IF EN<1 OR EN>200 THEN I=10:GOTO 1190
  25. 1120  GET 1,EN+2
  26. 1125  BBS$=LEFT$(N$,INSTR(N$,CHR$(0)))
  27. 1130  IF BBS$="" THEN 1085
  28. 1135  IF ASC(BBS$)=46 THEN 1085
  29. 1140  LSET B$=BBS$
  30. 1145  LOCATE I+9,1
  31. 1150  PRINT B$;"  Board type (1=FIDO, 2=Colossus)? ";
  32. 1155  LINE INPUT C$
  33. 1160  BT=VAL(C$)
  34. 1165  IF BT<1 OR BT>2 THEN 1085
  35. 1170  NB=NB+1
  36. 1175  EN(NB)=EN
  37. 1180  BT(NB)=BT
  38. 1185  BBS$(NB)=BBS$
  39. 1190  NEXT I
  40. 1195  CLOSE 1
  41. 1200  IF NB=0 THEN 5740
  42. 1205  FOR I=1 TO NB
  43. 1210  COLOR 7,0
  44. 1215  CLS
  45. 1220  COLOR 0,7
  46. 1225  PRINT CHR$(201);STRING$(22,205);CHR$(187)
  47. 1230  PRINT CHR$(186);" Procomm Scriptwriter ";CHR$(186)
  48. 1235  PRINT CHR$(186);"     by Sparkware     ";CHR$(186)
  49. 1240  PRINT CHR$(200);STRING$(22,205);CHR$(188)
  50. 1245  COLOR 7,0
  51. 1250  LOCATE 1,30
  52. 1255  PRINT "BBS: ";
  53. 1260  COLOR 0,7
  54. 1265  PRINT " ";BBS$(I);" ";
  55. 1270  COLOR 7,0
  56. 1275  LOCATE 2,30
  57. 1280  PRINT "Enter your FIRST name? ";TAB(55);
  58. 1285  LINE INPUT NF$(I)
  59. 1290  IF NF$(I)="" THEN 1275
  60. 1295  LOCATE 3,30
  61. 1300  PRINT "Enter your LAST name? ";TAB(55);
  62. 1305  LINE INPUT NL$(I)
  63. 1310  LOCATE 4,30
  64. 1315  PRINT "Enter your Password? ";TAB(55);
  65. 1320  LINE INPUT PW$(I)
  66. 1325  IF PW$(I)="" THEN 1310
  67. 1330  LOCATE 7,1
  68. 1335  PRINT "Please enter information below.   To stop, press the ";
  69. 1340  COLOR 0,7
  70. 1345  PRINT " RETURN ";
  71. 1350  COLOR 7,0
  72. 1355  PRINT " key."
  73. 1360  LOCATE 9,1
  74. 1365  PRINT STRING$(80,196);
  75. 1370  LOCATE 10,1
  76. 1375  COLOR 0,7
  77. 1380  PRINT " ACTION (U/D) ";
  78. 1385  LOCATE 10,17
  79. 1390  PRINT " FILE AREA ";
  80. 1395  LOCATE 10,30
  81. 1400  PRINT "  FILESPEC  ";
  82. 1405  LOCATE 10,44
  83. 1410  PRINT STRING$(13,32);"DESCRIPTION";STRING$(13,32);
  84. 1415  COLOR 7,0
  85. 1420  LOCATE 11,1
  86. 1425  PRINT STRING$(80,196);
  87. 1430  NF(I)=0
  88. 1435  LOCATE NF(I)+13,1,0
  89. 1440  PRINT STRING$(80,32);
  90. 1445  LOCATE NF(I)+13,7,1
  91. 1450  SOUND 5000,1
  92. 1455  AC$=INPUT$(1)
  93. 1460  IF AC$=CHR$(13) THEN 1595
  94. 1465  IF ASC(AC$)>96 THEN AC$=CHR$(ASC(AC$)-32)
  95. 1470  IF INSTR("UD",AC$)=0 THEN 1445
  96. 1475  PRINT AC$;
  97. 1480  LOCATE NF(I)+13,22,1
  98. 1485  SOUND 5000,1
  99. 1490  LINE INPUT A$
  100. 1495  IF VAL(A$)<1 THEN 1435
  101. 1500  LOCATE NF(I)+13,30,1
  102. 1505  SOUND 5000,1
  103. 1510  LINE INPUT FS$
  104. 1515  IF FS$="" THEN 1435
  105. 1520  C$=FS$:GOSUB 10000:FS$=C$
  106. 1525  IF AC$="D" THEN 1545
  107. 1530  LOCATE NF(I)+13,44,1
  108. 1535  LINE INPUT DC$
  109. 1540  IF DC$="" THEN 1435
  110. 1545  NF(I)=NF(I)+1
  111. 1550  AC$(I,NF(I))=AC$
  112. 1555  A$(I,NF(I))=A$
  113. 1560  FS$(I,NF(I))=FS$
  114. 1565  DC$(I,NF(I))=DC$
  115. 1570  IF AC$="U" THEN 1590
  116. 1575  IF INSTR(FS$,".ARC")>0 THEN ARC=1
  117. 1580  IF INSTR(FS$,".LBR")>0 THEN ARC=1
  118. 1585  IF INSTR(FS$,".LQR")>0 THEN ARC=1
  119. 1590  IF NF(I)<10 THEN 1435
  120. 1595  NEXT I
  121. 1600  '
  122. 2000  OPEN "O",1,"TRANSFER.CMD"
  123. 2010  PRINT#1,"/*************************************************************/"
  124. 2020  PRINT#1,"/*                                                           */"
  125. 2030  PRINT#1,"/*              Automatic downloading for FIDOs              */"
  126. 2040  PRINT#1,"/*                                                           */"
  127. 2050  PRINT#1,"/*************************************************************/"
  128. 2060  PRINT#1,"/"
  129. 2070  PRINT#1,"/ Date created: ";DATE$
  130. 2080  PRINT#1,"/"
  131. 2090  PRINT#1,"/ Boards called:"
  132. 2100  PRINT#1,"/"
  133. 2110  FOR I=1 TO NB
  134. 2120  IF NF(I)>0 THEN PRINT#1,"/ ";BBS$(I)
  135. 2130  NEXT I
  136. 2140  PRINT#1,"/"
  137. 2150  PRINT#1,"%LO";Q$;"PROCOMM.LOG";Q$
  138. 2160  PRINT#1,"%E7"
  139. 2170  PRINT#1,"%XN"
  140. 2180  FOR I=1 TO NB
  141. 2190  IF NF(I)=0 THEN 5010
  142. 2200  ON BT(I) GOTO 3000,4000
  143. 2210  '
  144. 3000  PRINT#1,"%C";Q$;FNN$(EN(I));Q$
  145. 3010  FOR J=1 TO 3
  146. 3020  PRINT#1,"%T";Q$;"!";Q$
  147. 3030  PRINT#1,"%W";Q$;"1";Q$
  148. 3040  NEXT J
  149. 3050  PRINT#1,"%T";Q$;"!";Q$
  150. 3060  PRINT#1,"%I";Q$;"Your FIRST name:";Q$
  151. 3070  PRINT#1,"%T";Q$;NF$(I);"!";Q$
  152. 3080  PRINT#1,"%I";Q$;"Your  LAST name:";Q$
  153. 3090  PRINT#1,"%T";Q$;NL$(I);"!";Q$
  154. 3100  PRINT#1,"%I";Q$;"? [Y,n]";Q$
  155. 3110  PRINT#1,"%T";Q$;"Y!";Q$
  156. 3120  PRINT#1,"%I";Q$;"Password:";Q$
  157. 3130  PRINT#1,"%T";Q$;PW$(I);"!";Q$
  158. 3140  FOR J=1 TO 3
  159. 3150  PRINT#1,"%I";Q$;"More?";Q$
  160. 3160  PRINT#1,"%T";Q$;"!";Q$
  161. 3170  NEXT J
  162. 3180  PRINT#1,"%I";Q$;"Command:";Q$
  163. 3190  PRINT#1,"%T";Q$;"F!";Q$
  164. 3200  FOR J=1 TO NF(I)
  165. 3210  PRINT#1,"%I";Q$;"Command:";Q$
  166. 3220  PRINT#1,"%T";Q$;"A ";A$(I,J);"!";Q$
  167. 3230  PRINT#1,"%I";Q$;"Command:";Q$
  168. 3240  SF$=FS$(I,J):GOSUB 11000
  169. 3250  IF AC$(I,J)="D" THEN 3310
  170. 3260  PRINT#1,"%T";Q$;"U X ";SF$;"!";Q$
  171. 3270  PRINT#1,"%XS";Q$;FS$(I,J);Q$
  172. 3280  PRINT#1,"%I";Q$;"describe ";SF$;Q$
  173. 3290  PRINT#1,"%T";Q$;DC$(I,J);"!";Q$
  174. 3300  GOTO 3330
  175. 3310  PRINT#1,"%T";Q$;"D X ";SF$;"!";Q$
  176. 3320  PRINT#1,"%XR";Q$;FS$(I,J);Q$
  177. 3330  NEXT J
  178. 3340  PRINT#1,"%I";Q$;"Command:";Q$
  179. 3350  PRINT#1,"%T";Q$;"G N!";Q$
  180. 3360  GOTO 5000
  181. 3370  '
  182. 4000  PRINT#1,"%C";Q$;FNN$(EN(I));Q$
  183. 4010  PRINT#1,"%I";Q$;"your First Name?";Q$
  184. 4020  PRINT#1,"%T";Q$;NF$(I);"!";Q$
  185. 4030  PRINT#1,"%I";Q$;"your Last Name?";Q$
  186. 4040  PRINT#1,"%T";Q$;NL$(I);"!";Q$
  187. 4050  PRINT#1,"%I";Q$;"correct [y/n]?";Q$
  188. 4060  PRINT#1,"%T";Q$;"Y!";Q$
  189. 4070  PRINT#1,"%I";Q$;"Password:";Q$
  190. 4080  PRINT#1,"%T";Q$;PW$(I);"!";Q$
  191. 4090  PRINT#1,"%I";Q$;"<N>onStop?";Q$
  192. 4100  PRINT#1,"%T";Q$;"N!";Q$
  193. 4110  PRINT#1,"%I";Q$;"or <Q>uit?";Q$
  194. 4120  PRINT#1,"%T";Q$;"Q!";Q$
  195. 4130  PRINT#1,"%I";Q$;"Main Menu:";Q$
  196. 4140  PRINT#1,"%T";Q$;"F!";Q$
  197. 4150  FOR J=1 TO NF(I)
  198. 4160  PRINT#1,"%I";Q$;"File Menu:";Q$
  199. 4170  PRINT#1,"%T";Q$;"C ";A$(I,J);"!";Q$
  200. 4180  PRINT#1,"%I";Q$;"File Menu:";Q$
  201. 4190  SF$=FS$(I,J):GOSUB 11000
  202. 4200  IF AC$(I,J)="D" THEN 4300
  203. 4210  PRINT#1,"%T";Q$;"U!";Q$
  204. 4220  PRINT#1,"%I";Q$;"4) Quit?";Q$
  205. 4230  PRINT#1,"%T";Q$;"3!";Q$
  206. 4240  PRINT#1,"%I";Q$;"save to >";Q$
  207. 4250  PRINT#1,"%T";Q$;SF$;"!";Q$
  208. 4260  PRINT#1,"%XS";Q$;FS$(I,J);Q$
  209. 4270  PRINT#1,"%I";Q$;"-->";Q$
  210. 4280  PRINT#1,"%T";Q$;DC$(I,J);"!";Q$
  211. 4290  GOTO 4360
  212. 4300  PRINT#1,"%T";Q$;"D!";Q$
  213. 4310  PRINT#1,"%I";Q$;"4) Quit?";Q$
  214. 4320  PRINT#1,"%T";Q$;"3!";Q$
  215. 4330  PRINT#1,"%I";Q$;"download?";Q$
  216. 4340  PRINT#1,"%T";Q$;SF$;"!";Q$
  217. 4350  PRINT#1,"%XR";Q$;FS$(I,J);Q$
  218. 4360  NEXT J
  219. 4370  PRINT#1,"%I";Q$;"File Menu:";Q$
  220. 4380  PRINT#1,"%T";Q$;"G Y!";Q$
  221. 4390  '
  222. 5000  IF I<NB THEN PRINT#1,"%W";Q$;"10";Q$
  223. 5010  NEXT I
  224. 5020  PRINT#1,"%Q"
  225. 5030  CLOSE 1
  226. 5040  IF ARC=0 THEN 5330
  227. 5050  OPEN "O",1,"UNPACK.BAT"
  228. 5060  FOR I=1 TO NB
  229. 5070  IF NF(I)=0 THEN 5360
  230. 5080  FOR J=1 TO NF(I)
  231. 5090  IN=INSTR(FS$(I,J),".ARC")
  232. 5100  IF IN>0 THEN 5150
  233. 5110  IN=INSTR(FS$(I,J),".LBR")
  234. 5120  IF IN>0 THEN 5150
  235. 5130  IN=INSTR(FS$(I,J),".LQR")
  236. 5140  IF IN=0 THEN 5320
  237. 5150  DIR$=LEFT$(FS$(I,J),IN-1)
  238. 5160  IF DIR$="" THEN 5320
  239. 5170  PRINT#1,"MKDIR ";DIR$
  240. 5180  PRINT#1,"COPY ";FS$(I,J);" .\";DIR$
  241. 5190  PRINT#1,"DEL ";FS$(I,J)
  242. 5200  PRINT#1,"CHDIR ";DIR$
  243. 5210  IF INSTR(FS$(I,J),".ARC")>0 THEN 5260
  244. 5220  IF INSTR(FS$(I,J),".LBR")>0 THEN 5240
  245. 5230  PRINT#1,"UNSQ ";FS$(I,J)
  246. 5240  PRINT#1,"LU -A ";DIR$
  247. 5250  GOTO 5270
  248. 5260  PRINT#1,"ARC XW ";DIR$
  249. 5270  PRINT#1,"DEL ";FS$(I,J)
  250. 5280  IF INSTR(FS$(I,J),".LQR")>0 THEN PRINT#1,"DEL ";DIR$;".LBR"
  251. 5290  PRINT#1,"CHDIR .."
  252. 5300  NEXT J
  253. 5310  NEXT I
  254. 5320  CLOSE 1
  255. 5330  FOR I=1 TO 4
  256. 5340  LOCATE I,30,0
  257. 5350  PRINT STRING$(50,32);
  258. 5360  NEXT I
  259. 5370  FOR I=7 TO 23
  260. 5380  LOCATE I,1,0
  261. 5390  PRINT STRING$(80,32);
  262. 5400  NEXT I
  263. 5410  LOCATE 9,1
  264. 5420  PRINT "The current time is ";TIME$
  265. 5430  LOCATE 12,1,1
  266. 5440  COLOR 0,7
  267. 5450  PRINT " ENTER ";
  268. 5460  COLOR 7,0
  269. 5470  PRINT " the current time: ";
  270. 5480  LINE INPUT T$
  271. 5490  IF T$<>"" THEN TIME$=T$
  272. 5500  LOCATE 15,1,1
  273. 5510  PRINT "Please enter the desired start time? ";
  274. 5520  LINE INPUT T$
  275. 5530  IF T$="" THEN 5330
  276. 5540  FOR I=9 TO 15 STEP 3
  277. 5550  LOCATE I,1,0
  278. 5560  PRINT STRING$(80,32);
  279. 5570  NEXT I
  280. 5580  LOCATE 2,30,0
  281. 5590  PRINT "Current time is now:";
  282. 5600  LOCATE 3,30
  283. 5610  PRINT "Procomm will automatically start at ";T$;".";
  284. 5620  LOCATE 4,30
  285. 5630  PRINT "Press the ";
  286. 5640  COLOR 0,7
  287. 5650  PRINT " ESC ";
  288. 5660  COLOR 7,0
  289. 5670  PRINT " key to ABORT.";
  290. 5680  LOCATE 2,51,0
  291. 5690  PRINT TIME$;
  292. 5700  IF INKEY$=CHR$(27) THEN 5740
  293. 5710  IF LEFT$(TIME$,LEN(T$))<>T$ THEN 5680
  294. 5720  CLS
  295. 5730  SHELL "PROCOMM /FTRANSFER /S"
  296. 5740  CLS
  297. 5750  IF ARC=1 THEN SHELL "UNPACK"
  298. 5760  CLS
  299. 5770  SHELL "DIR *."
  300. 5780  SYSTEM
  301. 5790  END
  302. 5800  '
  303. 10000  IF C$="" THEN 10070
  304. 10010  FOR I0=1 TO LEN(C$)
  305. 10020  A=ASC(MID$(C$,I0,1))
  306. 10030  IF A<97 OR A>122 THEN 10060
  307. 10040  A=A-32
  308. 10050  MID$(C$,I0,1)=CHR$(A)
  309. 10060  NEXT I0
  310. 10070  RETURN
  311. 10080  '
  312. 11000  IN=INSTR(SF$,":")
  313. 11010  IF IN=0 THEN 11030
  314. 11020  SF$=RIGHT$(SF$,LEN(SF$)-IN)
  315. 11030  RETURN
  316. 11040  '
  317.